#include <string>

struct FooBar {

    std::string foobar;

    FooBar() {
        foobar = "Foo!";
    }

    std::string getFoo() {
        return foobar;
    }

    void setFoo(std::string foo) {
        foobar = foo;
    }

    int square(int number) {
        return number * number;
    }

};

std::string greet() {
    return "Hello world!";
}

#include <boost/python.hpp>
using namespace boost::python;

BOOST_PYTHON_MODULE(uncrobotics) {

    class_<FooBar>("FooBar")
        .def("setFoo", &FooBar::setFoo)
        .def("getFoo", &FooBar::getFoo)
        .def("square", &FooBar::square);

    // Define a greeting function because it is nice to be friendly
    def("greet", &greet);
}
